package com.aididi.spring;

import com.aididi.spring.config.MyConfig;
import com.aididi.spring.entity.BeanDemo;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * @Auther: zx.xu
 * @Description:
 */
public class TestBean {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
        MyConfig config = context.getBean(MyConfig.class);

        //BeanDifinition的使用
        // 得到beanDefinition
        AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder.genericBeanDefinition().getBeanDefinition();
        // 把一个类设置为Bean
        beanDefinition.setBeanClass(BeanDemo.class);
        // 把这个Bean注册到容器中
        context.registerBeanDefinition("beanDemo",beanDefinition);



    }
}
